¡Ú¥é¡Œ¥á¥ó¥Á¥ã¡Œ¥Ï¥ó¡÷ëµ¡Û ¡ÊGORRY¡Ë
¡ÚPoD: Potion of Death¡Û ¡ÊGORRY¡Ë
¡ÚPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoD = Potion of Death¡Û ¡ÊGORRY¡Ë
¡Ú€«€ó€Ñ€Á»É¡Û ¡ÊGORRY¡Ë
¡Ú»ÞÆŠ¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú€¢€³€Š€À€€¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú€È€ê€¢€š€º¥Ó¡Œ¥ë¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú€ï€ê€Èµ×€·€Ö€ê¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú7D¥á¥ó¥ÆŽ°Î»¡Û ¡ÊGORRY¡Ë ¡Ö¥Õ¥¡¥€¥ó¥À¡Œ€ËÂ瀀€¥Ž¥ß¢ªœüµî€·€è€Š€È€·€Æ¥¹¥¯¥ê¡Œ¥ó±ø€¹¡×¥³¥ó¥Ü€ò€ä€é€«€·€¿¡Ä€Î€ÇSC»ý€Á¹þ€ß¡Ê¶ìŸÐ