├── 0-setup_web_static.sh ├── 1-pack_web_static.py ├── 100-clean_web_static.py ├── 101-setup_web_static.pp ├── 2-do_deploy_web_static.py ├── 3-deploy_web_static.py ├── AUTHORS ├── README.md ├── assets ├── hbnb_logo.png ├── hbnb_screenshot_0.png ├── hbnb_screenshot_1.png ├── hbnb_screenshot_2.png └── hbnb_stack.png ├── console.py ├── models ├── __init__.py ├── amenity.py ├── base_model.py ├── city.py ├── engine │ ├── __init__.py │ ├── db_storage.py │ └── file_storage.py ├── place.py ├── review.py ├── state.py └── user.py ├── setup_mysql_dev.sql ├── setup_mysql_test.sql ├── tests ├── test_console.py └── test_models │ ├── __init__.py │ ├── test_amenity.py │ ├── test_base_model.py │ ├── test_city.py │ ├── test_engine │ ├── __init__.py │ ├── test_db_storage.py │ └── test_file_storage.py │ ├── test_place.py │ ├── test_review.py │ ├── test_state.py │ └── test_user.py ├── web_flask ├── 0-hello_route.py ├── 1-hbnb_route.py ├── 10-hbnb_filters.py ├── 100-hbnb.py ├── 2-c_route.py ├── 3-python_route.py ├── 4-number_route.py ├── 5-number_template.py ├── 6-number_odd_or_even.py ├── 7-states_list.py ├── 8-cities_by_states.py ├── 9-states.py ├── README.md ├── __init__.py ├── static │ ├── images │ │ ├── icon.png │ │ └── logo.png │ └── styles │ │ ├── 103-common.css │ │ ├── 103-filters.css │ │ ├── 103-footer.css │ │ ├── 103-header.css │ │ ├── 103-places.css │ │ ├── 3-footer.css │ │ ├── 3-header.css │ │ ├── 4-common.css │ │ ├── 6-filters.css │ │ └── reset.css └── templates │ ├── 10-hbnb_filters.html │ ├── 100-hbnb.html │ ├── 5-number.html │ ├── 6-number_odd_or_even.html │ ├── 7-states_list.html │ ├── 8-cities_by_states.html │ └── 9-states.html └── web_static ├── 0-index.html ├── 1-index.html ├── 2-index.html ├── 3-index.html ├── 4-index.html ├── 5-index.html ├── 6-index.html ├── 7-index.html ├── 8-index.html ├── README.md ├── images ├── icon.png ├── icon_bath.png ├── icon_bed.png ├── icon_group.png └── logo.png └── styles ├── 2-common.css ├── 2-footer.css ├── 2-header.css ├── 3-common.css ├── 3-footer.css ├── 3-header.css ├── 4-common.css ├── 4-filters.css ├── 5-filters.css ├── 6-filters.css ├── 7-places.css └── 8-places.css /0-setup_web_static.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/0-setup_web_static.sh -------------------------------------------------------------------------------- /1-pack_web_static.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/1-pack_web_static.py -------------------------------------------------------------------------------- /100-clean_web_static.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/100-clean_web_static.py -------------------------------------------------------------------------------- /101-setup_web_static.pp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/101-setup_web_static.pp -------------------------------------------------------------------------------- /2-do_deploy_web_static.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/2-do_deploy_web_static.py -------------------------------------------------------------------------------- /3-deploy_web_static.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/3-deploy_web_static.py -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/AUTHORS -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/README.md -------------------------------------------------------------------------------- /assets/hbnb_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/assets/hbnb_logo.png -------------------------------------------------------------------------------- /assets/hbnb_screenshot_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/assets/hbnb_screenshot_0.png -------------------------------------------------------------------------------- /assets/hbnb_screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/assets/hbnb_screenshot_1.png -------------------------------------------------------------------------------- /assets/hbnb_screenshot_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/assets/hbnb_screenshot_2.png -------------------------------------------------------------------------------- /assets/hbnb_stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/assets/hbnb_stack.png -------------------------------------------------------------------------------- /console.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/console.py -------------------------------------------------------------------------------- /models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/__init__.py -------------------------------------------------------------------------------- /models/amenity.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/amenity.py -------------------------------------------------------------------------------- /models/base_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/base_model.py -------------------------------------------------------------------------------- /models/city.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/city.py -------------------------------------------------------------------------------- /models/engine/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /models/engine/db_storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/engine/db_storage.py -------------------------------------------------------------------------------- /models/engine/file_storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/engine/file_storage.py -------------------------------------------------------------------------------- /models/place.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/place.py -------------------------------------------------------------------------------- /models/review.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/review.py -------------------------------------------------------------------------------- /models/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/state.py -------------------------------------------------------------------------------- /models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/models/user.py -------------------------------------------------------------------------------- /setup_mysql_dev.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/setup_mysql_dev.sql -------------------------------------------------------------------------------- /setup_mysql_test.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/setup_mysql_test.sql -------------------------------------------------------------------------------- /tests/test_console.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_console.py -------------------------------------------------------------------------------- /tests/test_models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_models/test_amenity.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_amenity.py -------------------------------------------------------------------------------- /tests/test_models/test_base_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_base_model.py -------------------------------------------------------------------------------- /tests/test_models/test_city.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_city.py -------------------------------------------------------------------------------- /tests/test_models/test_engine/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_models/test_engine/test_db_storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_engine/test_db_storage.py -------------------------------------------------------------------------------- /tests/test_models/test_engine/test_file_storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_engine/test_file_storage.py -------------------------------------------------------------------------------- /tests/test_models/test_place.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_place.py -------------------------------------------------------------------------------- /tests/test_models/test_review.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_review.py -------------------------------------------------------------------------------- /tests/test_models/test_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_state.py -------------------------------------------------------------------------------- /tests/test_models/test_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/tests/test_models/test_user.py -------------------------------------------------------------------------------- /web_flask/0-hello_route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/0-hello_route.py -------------------------------------------------------------------------------- /web_flask/1-hbnb_route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/1-hbnb_route.py -------------------------------------------------------------------------------- /web_flask/10-hbnb_filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/10-hbnb_filters.py -------------------------------------------------------------------------------- /web_flask/100-hbnb.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/100-hbnb.py -------------------------------------------------------------------------------- /web_flask/2-c_route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/2-c_route.py -------------------------------------------------------------------------------- /web_flask/3-python_route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/3-python_route.py -------------------------------------------------------------------------------- /web_flask/4-number_route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/4-number_route.py -------------------------------------------------------------------------------- /web_flask/5-number_template.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/5-number_template.py -------------------------------------------------------------------------------- /web_flask/6-number_odd_or_even.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/6-number_odd_or_even.py -------------------------------------------------------------------------------- /web_flask/7-states_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/7-states_list.py -------------------------------------------------------------------------------- /web_flask/8-cities_by_states.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/8-cities_by_states.py -------------------------------------------------------------------------------- /web_flask/9-states.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/9-states.py -------------------------------------------------------------------------------- /web_flask/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/README.md -------------------------------------------------------------------------------- /web_flask/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web_flask/static/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/images/icon.png -------------------------------------------------------------------------------- /web_flask/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/images/logo.png -------------------------------------------------------------------------------- /web_flask/static/styles/103-common.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/103-common.css -------------------------------------------------------------------------------- /web_flask/static/styles/103-filters.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/103-filters.css -------------------------------------------------------------------------------- /web_flask/static/styles/103-footer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/103-footer.css -------------------------------------------------------------------------------- /web_flask/static/styles/103-header.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/103-header.css -------------------------------------------------------------------------------- /web_flask/static/styles/103-places.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/103-places.css -------------------------------------------------------------------------------- /web_flask/static/styles/3-footer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/3-footer.css -------------------------------------------------------------------------------- /web_flask/static/styles/3-header.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/3-header.css -------------------------------------------------------------------------------- /web_flask/static/styles/4-common.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/4-common.css -------------------------------------------------------------------------------- /web_flask/static/styles/6-filters.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/6-filters.css -------------------------------------------------------------------------------- /web_flask/static/styles/reset.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/static/styles/reset.css -------------------------------------------------------------------------------- /web_flask/templates/10-hbnb_filters.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/10-hbnb_filters.html -------------------------------------------------------------------------------- /web_flask/templates/100-hbnb.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/100-hbnb.html -------------------------------------------------------------------------------- /web_flask/templates/5-number.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/5-number.html -------------------------------------------------------------------------------- /web_flask/templates/6-number_odd_or_even.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/6-number_odd_or_even.html -------------------------------------------------------------------------------- /web_flask/templates/7-states_list.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/7-states_list.html -------------------------------------------------------------------------------- /web_flask/templates/8-cities_by_states.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/8-cities_by_states.html -------------------------------------------------------------------------------- /web_flask/templates/9-states.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_flask/templates/9-states.html -------------------------------------------------------------------------------- /web_static/0-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/0-index.html -------------------------------------------------------------------------------- /web_static/1-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/1-index.html -------------------------------------------------------------------------------- /web_static/2-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/2-index.html -------------------------------------------------------------------------------- /web_static/3-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/3-index.html -------------------------------------------------------------------------------- /web_static/4-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/4-index.html -------------------------------------------------------------------------------- /web_static/5-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/5-index.html -------------------------------------------------------------------------------- /web_static/6-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/6-index.html -------------------------------------------------------------------------------- /web_static/7-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/7-index.html -------------------------------------------------------------------------------- /web_static/8-index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/8-index.html -------------------------------------------------------------------------------- /web_static/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/README.md -------------------------------------------------------------------------------- /web_static/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/images/icon.png -------------------------------------------------------------------------------- /web_static/images/icon_bath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/images/icon_bath.png -------------------------------------------------------------------------------- /web_static/images/icon_bed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/images/icon_bed.png -------------------------------------------------------------------------------- /web_static/images/icon_group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/images/icon_group.png -------------------------------------------------------------------------------- /web_static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/images/logo.png -------------------------------------------------------------------------------- /web_static/styles/2-common.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/2-common.css -------------------------------------------------------------------------------- /web_static/styles/2-footer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/2-footer.css -------------------------------------------------------------------------------- /web_static/styles/2-header.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/2-header.css -------------------------------------------------------------------------------- /web_static/styles/3-common.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/3-common.css -------------------------------------------------------------------------------- /web_static/styles/3-footer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/3-footer.css -------------------------------------------------------------------------------- /web_static/styles/3-header.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/3-header.css -------------------------------------------------------------------------------- /web_static/styles/4-common.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/4-common.css -------------------------------------------------------------------------------- /web_static/styles/4-filters.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/4-filters.css -------------------------------------------------------------------------------- /web_static/styles/5-filters.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/5-filters.css -------------------------------------------------------------------------------- /web_static/styles/6-filters.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/6-filters.css -------------------------------------------------------------------------------- /web_static/styles/7-places.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/7-places.css -------------------------------------------------------------------------------- /web_static/styles/8-places.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdbaraban/AirBnB_clone_v2/HEAD/web_static/styles/8-places.css --------------------------------------------------------------------------------