closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed closed