hmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmmhmmmmmmm